package me.send.business.base;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.Set;

public class SendVariable {


    // 设置  客户端的 名称
	public static final String PRODUCE_CLIENT = "produce.client";
    // 设置 服务端的 名称
    public static final String PRODUCE_SERVER = "produce.server";
    // 设置后台的 名称
    public static final String PRODUCE_DATA = "produce.data";
	
	public static final String PAGE = "PAGE";

	// 返回的数据 定义
	public static final String DATA = "DATA";
	
	public static final  String RESULTMAP = "RESULTMAP";

	public static final String SUCCESS = "SUCCESS";
	public static final String ERROR = "ERROR";
	
	public static final String VARIABLEMAP = "VARIABLEMAP";

	// 定义一下 easyui使用的常量的定义 2015年6月18日16:12:21

	/** rows 显示要展示的数据 一般使用的是list 是json格式的数据 * */
	public static final String ROWS = "rows";
	
	/** * total 一般是个数 在这个条件下面查询出来所有的总数 2015年6月18日16:13:37 * */
	public static final String TOTAL = "total";

	
	/** 配置数据库的配置变量 2015年5月25日18:00:07 * */
	public static final String DB_SELECT = " SELECT ";
	public static final String DB_FROM = " FROM ";
	public static final String DB_INSERT = " INSERT INTO ";
	public static final String DB_WHERE = " WHERE ";
	public static final String DB_VALUES = " VALUES ";
	
	
	//验证码
	public static final String COMM_CODE = "CODE";
	
	public static final String phonenumber_password = "phonenumber!@#password";
	
	// 错误对象
	public static final String COMM_ERROR = "error";
	// 单个对象 集合对象
	public static final String COMMON_OBJECT = "object";
	public static final String COMMON_LIST = "list";
	
	// 设置全部的 给页面上多个对象集合使用
	public static final String COMMON_ALL = "all";
	
	public static final String COMMON_TEXT = "text";
	
	
	// 配置项目
	public static final String CONFIG_ABOUT = "about";
	public static final String CONFIG_PHONE = "phone";
	public static final String CONFIG_USER_REG = "user_reg";
	
	

	/** 配置map下面所有的key 为了让程序知道对应的配置文件 2015年6月3日09:15:01 * */

	/** 首页 订单配置大小 * */
	public static final String home_order_size = "home_order_size";
	public static final String user_order_time = "user_order_time";
	
	
	public static List<String> headerpathList;
	
	/** 增加下面的包名 2015年6月3日15:11:47**/
//	public static final String package_name_mapper = "com.husong.product.mapper";
	
	
	/** 设置分页对象 2015年6月3日09:49:25 **/
//	public static final String page_start = "page_start";
	
	// 记录一下错误码 2015年5月27日10:12:16
	/** 成功 1000 **/
//	public static final String SUCCESS_1000 = "1000";
//	/** 系统错误 1001**/
//	public static final String ERROR_1001 = "1001";
//	/** 缺少key值 1002 **/
//	public static final String ERROR_1002 = "1002";
//	/** 对象已经存在 1003 **/
//	public static final String ERROR_1003 = "1003";
//	/** 验证码失效 1004 **/
//	public static final String ERROR_1004 = "1004";
//	/** 验证码错误 1005 **/
//	public static final String ERROR_1005 = "1005";
//	/** 缺少对象 1006 **/
//	public static final String ERROR_1006 = "1006";
	

	/**
	 * 编辑系统下面所有的错误码 2015年5月26日09:06:10
	 * 
	 * 将一些错误信息放在map下面的
	 * 
	 */
	public static Map<String, ErrorEntity> errorEntityMap = null;

	// 给下面一个使用对象
	// private static ErrorEntity errorEntity;
	// 使用系统的全局的静态块
	static {
		// 判断使用错误集合的list
		if (errorEntityMap == null) {
			errorEntityMap = new HashMap<String, ErrorEntity>();
		}

		// 每次使用上面的静态变量 2015年5月26日09:24:37
		String basepackage = "setting.result-code";
		ResourceBundle resourceBundle = ResourceBundle.getBundle(basepackage);

		Set<String> keySet = resourceBundle.keySet();

		// 定义一个变量 获取下面所有的 value
		for (String key : keySet) {
			// 处理这个 value值 2015年5月26日10:20:15
			errorEntityMap.put(key, _GetErrorEntity(resourceBundle
					.getString(key)));
		}
		
		// 定义一些 图片可以上传的格式 2015年6月3日17:42:56
		
		if (headerpathList==null) {
			headerpathList = new ArrayList<String>();
			// 存一下这个格式下面所有的小写
			headerpathList.add("jpg");
			headerpathList.add("jpeg");
			headerpathList.add("bmp");
			headerpathList.add("png");
		}

	}
	
	
	// 图片的地址 path/user/header/1/2015-6-3 17:56:48.
	public static final String user_header_path = "path\\user\\header\\";
	
	// 订单地址
	public static final String orders_path = "path\\orders\\";
	
	public static final String user_server_path = Thread.currentThread().getContextClassLoader().getResource("").getPath() + "\\";

	// 处理错误码下面的value
	private static ErrorEntity _GetErrorEntity(final String value) {
		ErrorEntity entity = null;
		if (value != null && !"".equals(value)) {
			// 获取下面的所有的value
			String[] values = value.split("-");
			// 0 是错误码 1 是英文的错误描述 2是错误描述
			if (values.length < 3) {
				// 如果错误 不全 那么就不考虑
				return null;
			}
			entity = new ErrorEntity(values[0], values[1], values[2]);
			return entity;
		}
		return entity;
	}
	
	

	public static Map<String, Object> sendvariable_map ;
	
	
	/**
	 * 主要是给 程序加载的时候 启动的一些变量
	 * 
	 * 2015年6月19日11:50:37
	 */
	static{
		// 读取配置文件 在开始的时候就加载到内存下面
		_GetSendvariable();
	}
	
	// 读取配置文件 
	private static void _GetSendvariable(){
		ResourceBundle resourceBundle = ResourceBundle.getBundle("setting.sendvariable",Locale.getDefault());
		/** 从配置文件下面读取 **/
		String title = resourceBundle.getString("title");
		if (sendvariable_map==null) {
			sendvariable_map = new HashMap<String, Object>();
		}
		// 将配置文件里面的key 都放在 map下面
		sendvariable_map.put("title", title);
	}
	
}
